package pl.cezary.butler.walili.common;

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.List;

// <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
// #[regen=yes,id=DCE.32648085-9A95-AC99-B0CC-2127D06DE7B2]
// </editor-fold> 
public interface ILoginFacadeRemote extends Remote{

    public String NAME = "IFasadaSerweraLoginRemote";
    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.63FA1FC1-6B08-4798-37E7-A0BF220FD56F]
    // </editor-fold> 
    /**
     * Metoda pozwalajaca na zalogowanie uzytkownika na serwerze.
     * @param user uzytkownik do zalogowania
     * @return Obiekt implementujacy interfejs IFasadaSerweraRemote lub null jezeli problem z zalogowaniem.
     */
    public IServerFacadeRemote zaloguj (User user) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.047338AE-0A0C-550F-CCF8-706138662B46]
    // </editor-fold> 
    /**
     * Metoda pozwalajaca na zarejestrowanie uzytkownika.
     * @param user uzytkownik do zarejestrowania
     * @return Liste napisow zawierajacych komunikaty bledow z rejestracji. Pusta lista oznacza poprawna rejestracje.
     */
    public List<String> zarejestruj (User user) throws RemoteException;
    
    public boolean isCredentinalsNeccessary() throws RemoteException;

}

